#
#  inidriv.txt
#
#  Jerry Carpenter
#  turacoCL@umlautllama.com
#
#  This is an example driver file, commented to explain what is what.
#
# $Id: inidriv.txt,v 1.14 2003/05/15 01:28:40 jerry Exp $
#

# The filename is the short name of the driver with the ".ini" extension.
# For example, "bunny.ini" will find its ROM files 
# in $(ROMDIR)\bunny\rom.bin


#
# Turaco: This is the meta information about this driver file 
#
[Turaco]

#
# FileVersion: The version of the file itself.  If you modify it, bump this.
#
FileVersion = 1.0

#
# DumpVersion: The version of this file definition.  Version 0 and 1 were
#              Turaco Classic versions only.
#
DumpVersion = 2

#
# Author: The person or program that created this driver
#
Author = Jerry / MAME 0.65.1 Dump

#
# URL: The url associated with the author
#
URL = http://www.cis.rit.edu/~jerry/Software/turacoCL


#
# General: This contains general information about the driver
#
[General]

#
# Name: The short name of the driver. (Same as the ini filename usually)
#
Name = pacman

#
# Grouping: A group that these are in. (Same as the directory usually)
#
Grouping = pacman

#
# Year: Year that the game was created
#
Year = 1980

#
# Manufacturer: The name of the manufacturer that made the game
#
Manufacturer = [Namco] (Midway license)

#
# CloneOf: What game this is a clone of.  Look there for more roms
#
CloneOf = puckman

#
# Description: This is the "long" or "full" name of the driver.
#              This will be displayed in the -listfull list, or file selector
#
Description = Pac-Man (Midway)


#
# Layout:  General information about the graphics layouts 
#
[Layout]

#
# GfxDecodes: number of "Decode"'s below in the file
#
GfxDecodes = 4


#
# GraphicsRoms: stores the names and sizes of the files that contain 
#               the graphics data
#
[GraphicsRoms]

#
# these are numbered, starting with 1, through the number of required roms.
# order in this file of the numbers does not matter.  If there are 1, 2, 3,
# and 5 (no 4), then it will stop at 3.
# 
# The fields are seperated by spaces, and are as follows:
#     (offset) (size) (filename)
#
Rom1 =      0    4096  pacman.5e
Rom2 =   4096    4096  pacman.5f

#
# Offset:   Location or order of the rom file in memory (in bytes)
# Size:     File size of the rom file (in bytes)
# Filename: The name of the rom file. (case insensitive)
#
# Above: pacman.5e starts at memory location 0 and is 4096 bytes large
#        pacman.5f starts at memory location 4096 and is 4096 bytes large


# Decode1: As above, the graphics decode banks start at 1, and there are
#          as many of them as in "GfxDecodes" above.
#
[Decode1]

#
# start: location in the memory space where this, the first bank begins
#
start = 0

#
# width: number of bits wide each sprite is.
#
width = 8

#
# height: number of bits tall each sprite is.
#
height = 8

#
# total: number of sprites in this bank 
#
total = 256

#
# Orientation: orientation of the decode.  This is to simplify writing 
#              drivers.  Instead of making the driver rotate the info as it
#              loads it, this will rotate or flip the images after it's loaded
#
#  0   - no effect
#
#  1   - Flip X - mirror everything in the X direction
#  2   - Flip Y - mirror everything in the Y direction
#  4   - Swap X & Y - mirror along the top-left and bottom-right diagonal
#
#  5   - Rotate 90 degtees clockwise
#  3   - Rotate 180 degrees (clockwise)  
#  6   - Rotate 270 degrees clockwise (90 degrees counter-clockwise)
#
orientation = 0

#
#planes: number of bitplanes in this bank:
#        1 plane  = 2^1 or 2 colors
#        2 planes = 2^2 or 4 colors
#        3 planes = 2^3 or 8 colors
#        4 planes = 2^4 or 16 colors
#        5 planes = 2^5 or 32 colors
#        8 planes = 2^8 or 256 colors
#
planes = 2

#
# planeoffsets: there should be as many of these as there are planes.  They
#               are seperated by spaces.  In this example, on plane 0, the 
#               first plane, each sprite starts at 0.  Plane 1 starts 
#               at 4 *BITS* off from the beginning of the sprite.
#
planeoffsets = 0 4 

#
# xoffsets: the offsets from each sprite start point for each bit for the 
#           beginnings of each row of pixels
#
xoffsets = 56 48 40 32 24 16 8 0 

# yoffsets: the offsets from each sprite start point for each bit for the 
#           beginnings of each column of pixels
#
yoffsets = 64 65 66 67 0 1 2 3 

# charincrement: the number of bits to add to the start point to go to 
#                the next sprite.
#
charincrement = 128


# here's an example using the above:
# sprite 0:  starts at (start) or (0), and is (2) planes deep.
#  plane 1 starts at (start+planeoffset1) or (0 + 0)
#  The first row (8 pixels wide) of bits can be found at:
#  0+yoffset1+xoffset1, 0+yoffset1+xoffset2, 0+yoffset1+xoffset3, etc.
#  0+64+56, 0+64+48, 0+64+40, etc...
#
# the next plane starts at (4) and, using the example as above is:
#  4+yoffset1+xoffset1, 4+yoffset1+xoffset2, 4+yoffset1+xoffset3, etc.
#  4+64+56, 4+64+48, 4+64+40, etc...
#
# the next sprite starts at (0+128) (bits, not bytes)
#  it's first plane starts at (0+128+0)
#  it's second plane starts at (0+128+4)
#
# the next sprite starts at (0+256) (bits, not bytes)
#  it's first plane starts at (0+256+0)
#  it's second plane starts at (0+256+4)
#
# and so on...
#


#
# bank 2
#
[Decode2]
start = 4096
width = 16
height = 16
total = 64
planes = 2
planeoffsets = 0 4 
xoffsets = 312 304 296 288 280 272 264 256 56 48 40 32 24 16 8 0 
yoffsets = 64 65 66 67 128 129 130 131 192 193 194 195 0 1 2 3 
charincrement = 512


#
# bank 3
#
[Decode3]
start = 0
width = 16
height = 16
total = 64
planes = 2
planeoffsets = 0 4 
xoffsets = 184 176 168 160 152 144 136 128 56 48 40 32 24 16 8 0 
yoffsets = 64 65 66 67 0 1 2 3 320 321 322 323 256 257 258 259 
charincrement = 512


#
# bank 4
#
[Decode4]
start = 0
width = 16
height = 16
total = 64
planes = 2
planeoffsets = 0 4 
xoffsets = 56 48 40 32 24 16 8 0 184 176 168 160 152 144 136 128 
yoffsets = 64 65 66 67 0 1 2 3 320 321 322 323 256 257 258 259 
charincrement = 512


#
# Palette: This is where all of the palettes are stored
#
[Palette]

#
# as above, these start at 1, and increment from there.
# they are space sperated as above as well.

Palette1  = 4    0  0  0   220 220 220     0   0  90   220   0   0

# (number of colors) (color1 red) (color1 green) (color1 blue)
#                    (color2 red) (color2 green) (color2 blue)
# etc...
#
# in the above example, there are 4 colors, the first color being (0,0,0).
# second color is (220, 220, 220), etc.  The values go from 0 (no color)
# to 255 (full color).  Black is "0 0 0" and white is "255 255 255"
#
Palette2  = 4    0  0  0     0 220   0     0   0  90   220 150  20
Palette3  = 4    0  0  0     0   0 220   255   0   0   255 255   0
Palette4  = 4    0  0  0   220   0   0    90  90   0   220 220 220
Palette5  = 4    0  0  0   220   0   0     0 220   0   220 220 220
Palette6  = 4    0  0  0   150 150   0     0 220   0    90  90   0
Palette7  = 4    0  0  0   220 220   0    90  90 220   220 220 220
Palette8  = 4    0  0  0   220   0   0    90  90   0   220 220 220
Palette9  = 4    0  0  0     0 150 220     0 220   0   220 220 220
Palette10 = 4    0  0  0     0   0   0    90  90 220   220 220 220
Palette11 = 4  255  0  0   255 255 255     0 255   0     0   0 220
Palette12 = 4    0  0  0   255 255 255     0   0   0     0   0 220


#
# Tilemap: Custom ordering of sprites for import and export
#          this group contains general information for all tilemaps.
#
[Tilemap]


#
# Tilemaps : number of tilemaps in this file
#
Tilemaps = 5

#
# Sets:  a group of images/files that should be imported/exported together
#
Sets = 3

#
# Set1: As above, the set information.  (name tilemap# tilemap#)
#	the core bank graphics are implied to be the first, before tilemaps
#       YOU CANNOT MIX-AND-MATCH BANKS!
#
Set1= pacman 1 4
Set2= namcopac 2 3 4
Set3= jerry 5

# Tilemap1: As above, the tilemap banks start at 1, and there are
#           as many of them as in "Tilemaps" above.
[Tilemap1]

# FName : the name of the image file to use.
      FName = nlogo

# Name : The name of the tilemap (very short)
       Name = Namco Logo

# Description : A short description of what it is. (plain text)
Description = NAMCO

# Credit : who made it, help, thanks, etc.  (optional)
     Credit = Jerry

# Bank : which of the above banks' sprites to use 
       Bank = 1

# Width : number of tiles wide the tilemap is
      Width = 6

# Height : number of tiles tall that the tilemap is 
     Height = 1

# Row1 : one per each row (horizontally) containing (Width) numbers
#        these are in decimal, starting at 0.
       Row1 = 40 41 42 43 44 45


#
# Tilemap2
#
#  more of the same
#
[Tilemap2]
      FName = mlogo
       Name = Midway Logo
Description = The midway logo bitmap for Ms Pacman (Incorrect) (example)
       Bank = 1
      Width = 3
     Height = 5
       Row1 = 10 11 12
       Row2 = 13 14 15
       Row3 = 16 17 18
       Row4 = 19 20 21
       Row5 = 22 23 24

[Tilemap3]
      FName = basic
       Name = Basic Dump Layout
Description = This is what gets dumped out anyway.
       Bank = 1
      Width = 16
     Height = 4
       Row1 =  0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15
       Row2 = 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
       Row3 = 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
       Row4 = 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63

[Tilemap4]
      FName = pts
       Name = pts
Description = pts text for pacman
       Bank = 1
      Width = 2
     Height = 1
       Row1 = 40 41

[Tilemap5]
      FName = jerry
       Name = Jerry text
Description = The sprites used to generate the "Jerry" in my custom rom bank
       Bank = 1
      Width = 10
     Height = 3
#             --J-- --E-- --R-- --R-- --Y--
       Row1 =  8  9 12 13 16 17 16 17 20 21
       Row2 = 10 11 14 15 18 19 18 19 22 23
       Row3 = 24 25 26 27 28 29 28 29 24 25

# 
# the next sections are all for the map and text editing, which is not
# yet supported by TURACO, therefore I will not explain it yet.
#
[DataRoms]
Rom1 =      0    4096  pacman.6e
Rom2 =   4096    4096  pacman.6f
Rom3 =   8192    4096  pacman.6h
Rom4 =  12288    4096  pacman.6j

[Map1]
MapType = pacman
StartAddress = 3436
OverlayAddress = 35B5
OverlayCount = 240
Width = 28
Height = 32
Gfx_Bank = 1
HC1 =   1   4
HC2 =  26   4
HC3 =   1  24
HC4 =  26  24

[Lookup1]
LU1 = a 41  b 42  c 43  d 44  e 45  f 46  g 47  h 48  
LU2 = i 49  j 4a  k 4b  l 4c  m 4d  n 4e  o 4f  p 50  
LU3 = q 51  r 52  s 53  t 54  u 55  v 56  w 57  x 58  
LU4 = y 59  z 5a  A 41  B 42  C 43  D 44  E 45  F 46  
LU5 = G 47  H 48  I 49  J 4a  K 4b  L 4c  M 4d  N 4e  
LU6 = O 4f  P 50  Q 51  R 52  S 53  T 54  U 55  V 56  
LU7 = W 57  X 58  Y 59  Z 5a  0 30  1 31  2 32  3 33  
LU8 = 4 34  5 35  6 36  7 37  8 38  9 39  . 25  / 3a  
LU9 = ! 5b  @ 5c    40  - 3b  " 26  ' 27  [ 5d  ] 5e  
LU10 = \ 5f  # 28  $ 29  % 2a  ^ 2b  & 2c  * 2d  ( 2e  
LU11 =  0  40  

[String_Category1]
Name = Main Ghost Names
Gfx_Bank = 1
Lookup = 1
String1 =  3d59  10  "Red Name"
String2 =  3d69   9  "Red Nick"
String3 =  3d78  10  "Pink Name"
String4 =  3d88   9  "Pink Nick"
String5 =  3d97  10  "Aqua Name"
String6 =  3da7   9  "Aqua Nick"
String7 =  3db6  10  "Orange Name"
String8 =  3dc6   9  "Orange Nick"

[String_Category2]
Name = Alt. Ghost Names
Gfx_Bank = 1
Lookup = 1
String1 =  3dd5  10  "Red Name"
String2 =  3de5   9  "Red Nick"
String3 =  3df4  10  "Pink Name"
String4 =  3e04   9  "Pink Nick"
String5 =  3e13  10  "Aqua Name"
String6 =  3e23   9  "Aqua Nick"
String7 =  3e32  10  "Orange Name"
String8 =  3e42   9  "Orange Nick"

